home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / octa209s.zip / octave-2.09 / src / pt-exp-base.cc < prev    next >
C/C++ Source or Header  |  1996-11-18  |  2KB  |  88 lines

  1. /*
  2.  
  3. Copyright (C) 1996 John W. Eaton
  4.  
  5. This file is part of Octave.
  6.  
  7. Octave is free software; you can redistribute it and/or modify it
  8. under the terms of the GNU General Public License as published by the
  9. Free Software Foundation; either version 2, or (at your option) any
  10. later version.
  11.  
  12. Octave is distributed in the hope that it will be useful, but WITHOUT
  13. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  14. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  15. for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with Octave; see the file COPYING.  If not, write to the Free
  19. Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  20.  
  21. */
  22.  
  23. #if defined (__GNUG__)
  24. #pragma implementation
  25. #endif
  26.  
  27. #ifdef HAVE_CONFIG_H
  28. #include <config.h>
  29. #endif
  30.  
  31. #include <string>
  32.  
  33. #include <iostream.h>
  34. #include <strstream.h>
  35.  
  36. #include "error.h"
  37. #include "pager.h"
  38. #include "ov.h"
  39. #include "pt-exp-base.h"
  40.  
  41. // Expressions.
  42.  
  43. bool
  44. tree_expression::is_logically_true (const char *warn_for)
  45. {
  46.   bool expr_value = false;
  47.  
  48.   octave_value t1 = eval (false);
  49.  
  50.   if (! error_state)
  51.     {
  52.       if (t1.is_defined ())
  53.     return t1.is_true ();
  54.       else
  55.     ::error ("%s: undefined value used in conditional expression",
  56.          warn_for);
  57.     }
  58.   else
  59.     ::error ("%s: error evaluating conditional expression", warn_for);
  60.  
  61.   return expr_value;
  62. }
  63.  
  64. void
  65. tree_expression::mark_for_possible_ans_assign (void)
  66. {
  67.   panic_impossible ();
  68. }
  69.  
  70. octave_value
  71. tree_expression::eval (bool /* print */)
  72. {
  73.   panic ("invalid evaluation of generic expression");
  74.   return octave_value ();
  75. }
  76.  
  77. string
  78. tree_expression::original_text (void) const
  79. {
  80.   return string ();
  81. }
  82.  
  83. /*
  84. ;;; Local Variables: ***
  85. ;;; mode: C++ ***
  86. ;;; End: ***
  87. */
  88.